package sy1_UML.association.self_associate;

/**
 * 
 * @author wustwzx 自关联示例：单链表中的结点类
 * 泛型类LinkedList<T>包含内部成员泛型类Node<T>
 * 泛型类Node<T>自关联，属性next为Node<T>类型
 */

public class LinkedList<T> {  //链表定义
	
	private Node<T> head;  //链表头结点（指针）
	private int length;  //链表结点个数

	class Node<T>  {  //结点定义（成员内部类）
		private T data; //结点数据域
		private Node<T> next;  //指针域，成员属性为本类自身类型
		
		public Node(T data,Node<T> next) {
			this.data=data;
			this.next=next;
		}
	}
	
	public void initList() {  //初始化空链表
		this.length=0;
		this.head=new Node(null,null);
	}
	//其它操作方法
	
	public static void main(String[] args) {  //主方法
		LinkedList<String> linkedList = new LinkedList<>();
		linkedList.initList();
		System.out.println("链表结点的长度："+linkedList.length); 
		//...
	}
}
